﻿using System.Collections.Generic;

namespace CID.Domain.Infrastructure
{
    public interface ITemplate : IDescribedEntity
    {
        byte[] Content { get; set; }
        bool MultipleServersSupport { get; set; }
        bool Enabled { get; set; }
        IEnumerable<IParameter> Parameters { get; }
        ITemplateType Type { get; }

        IParameter CreateParameter(string name, string description, ParameterType type);
        void RemoveParameter(IParameter parameter);
        ITemplate CreateCopy();
    }

    public interface IActivationTemplate : ITemplate
    { 
    }

    public interface IDeactivationTemplate : ITemplate 
    { 
    }

    public interface IDeploymentTemplate : ITemplate
    { 
    }
}
